package ec.linde.persistencia.entidades;

// Generated 07-ago-2014 12:54:27 by Hibernate Tools 4.0.0

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * ProdTarifGestGenerales generated by hbm2java
 */
@Entity
@Table(name = "prod_tarif_gest_generales", schema = "productividad")
public class ProdTarifGestGenerales implements java.io.Serializable {

	private int taggId;
	private ProdConfigBasPresupues prodConfigBasPresupues;
	private String taggDescripcion;
	private String taggUnidad;
	private Double taggCostoDirectoUnitario;
	private Set<ProdGestionGeneralProf> prodGestionGeneralProfs = new HashSet<ProdGestionGeneralProf>(
			0);

	public ProdTarifGestGenerales() {
	}

	public ProdTarifGestGenerales(int taggId, String taggDescripcion,
			String taggUnidad) {
		this.taggId = taggId;
		this.taggDescripcion = taggDescripcion;
		this.taggUnidad = taggUnidad;
	}

	public ProdTarifGestGenerales(int taggId,
			ProdConfigBasPresupues prodConfigBasPresupues,
			String taggDescripcion, String taggUnidad,
			Double taggCostoDirectoUnitario,
			Set<ProdGestionGeneralProf> prodGestionGeneralProfs) {
		this.taggId = taggId;
		this.prodConfigBasPresupues = prodConfigBasPresupues;
		this.taggDescripcion = taggDescripcion;
		this.taggUnidad = taggUnidad;
		this.taggCostoDirectoUnitario = taggCostoDirectoUnitario;
		this.prodGestionGeneralProfs = prodGestionGeneralProfs;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "tagg_id", unique = true, nullable = false)
	public int getTaggId() {
		return this.taggId;
	}

	public void setTaggId(int taggId) {
		this.taggId = taggId;
	}

	@ManyToOne//(fetch = FetchType.LAZY)
	@JoinColumn(name = "bapr_id")
	public ProdConfigBasPresupues getProdConfigBasPresupues() {
		return this.prodConfigBasPresupues;
	}

	public void setProdConfigBasPresupues(
			ProdConfigBasPresupues prodConfigBasPresupues) {
		this.prodConfigBasPresupues = prodConfigBasPresupues;
	}

	@Column(name = "tagg_descripcion", nullable = false)
	public String getTaggDescripcion() {
		return this.taggDescripcion;
	}

	public void setTaggDescripcion(String taggDescripcion) {
		this.taggDescripcion = taggDescripcion;
	}

	@Column(name = "tagg_unidad", nullable = false)
	public String getTaggUnidad() {
		return this.taggUnidad;
	}

	public void setTaggUnidad(String taggUnidad) {
		this.taggUnidad = taggUnidad;
	}

	@Column(name = "tagg_costo_directo_unitario", precision = 17, scale = 17)
	public Double getTaggCostoDirectoUnitario() {
		return this.taggCostoDirectoUnitario;
	}

	public void setTaggCostoDirectoUnitario(Double taggCostoDirectoUnitario) {
		this.taggCostoDirectoUnitario = taggCostoDirectoUnitario;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "prodTarifGestGenerales")
	public Set<ProdGestionGeneralProf> getProdGestionGeneralProfs() {
		return this.prodGestionGeneralProfs;
	}

	public void setProdGestionGeneralProfs(
			Set<ProdGestionGeneralProf> prodGestionGeneralProfs) {
		this.prodGestionGeneralProfs = prodGestionGeneralProfs;
	}

}
